/**
 * Test learning units 
 * 
 * @author Gerd Wagner
 * 
 */
oa.lu.test1 = new LearningUnit(
    1,  // id
    "Testing IndividualEquation",
    "Basic Addition Part 1",
    "Addition",
    1,  // grade
    [ 
      new ArithmeticExercise( oa.apt.additionOf1, 1, oa.rf.individualEquation),
      new ArithmeticExercise( oa.apt.simpleAdditionWithAskedForOperand2, 1, oa.rf.individualEquation)
    ] 
);
oa.learningUnits.push( oa.lu.test1);

oa.lu.test2 = new LearningUnit(
    2,  // id
    "Testing NumberRay",
    "Basic Addition Part 1",
    "Addition",
    1,  // grade
    [ 
      new ArithmeticExercise( oa.apt.additionOf5, 1, oa.rf.numberRay)
    ] 
);
oa.learningUnits.push( oa.lu.test2);

oa.lu.test3 = new LearningUnit(
    3,  // id
    "Testing Computation House",
    "Basic Addition Part 1",
    "Subtraction",
    1,  // grade
    [ 
      new ArithmeticExercise( oa.apt.subtractionOf1, 3, oa.rf.compHouse),
      new ArithmeticExercise( oa.apt.subtractionOf5, 1, oa.rf.individualEquation)
    ] 
);
oa.learningUnits.push( oa.lu.test3);

oa.lu.test4 = new LearningUnit(
    4,  // id
    "Testing Memory",
    "Basic Addition Part 1",
    "Addition",
    1,  // grade
    [ 
      new ArithmeticExercise( oa.apt.basicAddition, 3, oa.rf.memory)
    ] 
);
oa.learningUnits.push( oa.lu.test4);

//Fraction plus
oa.lu.FractionPlus = new LearningUnit(
    5,  // id
    "Bruchrechnung Addition",
    "Basic Fractional Arithmetic",
    "Fractions",
    5,  // grade
    [ new ArithmeticExercise( oa.apt.fractionPlusSameDenom, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionPlusLCM, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionPlusNormal, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionPlusNatural, 2, oa.rf.fractionEquation),
    ] 
);
oa.learningUnits.push( oa.lu.FractionPlus);

//Fraction minus
oa.lu.FractionMinus = new LearningUnit(
    6,  // id
    "Bruchrechnung Subtraktion",
    "Basic Fractional Arithmetic",
    "Fractions",
    5,  // grade
    [ new ArithmeticExercise( oa.apt.fractionMinusSameDenom, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionMinusLCM, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionMinusNormal, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionMinusNatural, 2, oa.rf.fractionEquation),
    ] 
);
oa.learningUnits.push( oa.lu.FractionMinus);

//Fraction times
oa.lu.FractionTimes = new LearningUnit(
    7,  // id
    "Bruchrechnung Multiplikation",
    "Basic Fractional Arithmetic",
    "Fractions",
    5,  // grade
    [ new ArithmeticExercise( oa.apt.fractionTimesLCM, 2, oa.rf.fractionEquation), 
      new ArithmeticExercise( oa.apt.fractionTimesSameDenom, 2, oa.rf.fractionEquation),
      new ArithmeticExercise( oa.apt.fractionTimesNatural, 2, oa.rf.fractionEquation),
    ] 
);
oa.learningUnits.push( oa.lu.FractionTimes);

//Fraction divided by
oa.lu.FractionDividedBy = new LearningUnit(
    8,  // id
    "Bruchrechnung Division",
    "Basic Fractional Arithmetic",
    "Fractions",
    5,  // grade
    [ new ArithmeticExercise( oa.apt.fractionDivideLCM, 2, oa.rf.fractionEquation), 
      new ArithmeticExercise( oa.apt.fractionDivideSameDenom, 2, oa.rf.fractionEquation), 
      new ArithmeticExercise( oa.apt.fractionDivideNatural, 2, oa.rf.fractionEquation), 
    ] 
);
oa.learningUnits.push( oa.lu.FractionDividedBy);

oa.lu.FractionCircle = new LearningUnit(
	9,  // id
	"Kreisabschnitt",
	"Segment of a circle",
	"Fractions",
	4,  // grade
	[ new ArithmeticExercise( oa.apt.fractionCircle, 10, oa.rf.ProperFractionsAsCircleParts), 
	] 
);
oa.learningUnits.push( oa.lu.FractionCircle);

oa.lu.SizeComparison = new LearningUnit(
		10,  // id
		"Gr\u00f6\u00dfenvergleich",
		"Size Comparison",
		"Fractions and numbers",
		5,  // grade
		[ new ArithmeticExercise( oa.apt.numberComparison, 2, oa.rf.sizeComparison), 
		  new ArithmeticExercise( oa.apt.fractionComparisonNum, 2, oa.rf.sizeComparison), 
      new ArithmeticExercise( oa.apt.fractionComparisonDenom, 2, oa.rf.sizeComparison), 
      new ArithmeticExercise( oa.apt.fractionComparisonBoth, 2, oa.rf.sizeComparison) 
		] 
	);
	oa.learningUnits.push( oa.lu.SizeComparison);

oa.lu.FractionExtendAndReduce = new LearningUnit(
	  11,  // id
	  "Br\u00FCche erweitern und k\u00FCrzen",
	  "Extend and reduce fractions",
	  "Fractions",
	  5,  // grade
	  [ new ArithmeticExercise( oa.apt.fractionExtendAndReduce, 5, oa.rf.fractionExtendAndReduce)
	  ] 
);
	oa.learningUnits.push( oa.lu.FractionExtendAndReduce);

/**
 * A learning unit for demonstration of the animated individual equation 
 * rendering form with dice.
 * 
 * @author Maria Hentzschel, Marcus Uhlig
 */
oa.lu.additionWithAnimatedDice = new LearningUnit(
	12, //id
	"Addition with Animated Dice",
	"Addition of dice.",
	"Addition",
	1, //grade
	[
		new ArithmeticExercise( oa.apt.simpleAdditionUpTo6, 1, oa.rf.additionWithAnimatedDice),
		new ArithmeticExercise( oa.apt.simpleAdditionOf3NumbersUpTo6, 1, oa.rf.additionWithAnimatedDice)
	]
);
oa.learningUnits.push(oa.lu.additionWithAnimatedDice);

/**
 * A learning unit for demonstration of the animated individual equation 
 * rendering form with coins.
 * 
 * @author Bo Li, Costinel Ciucardel
 */ 
oa.lu.testAdditionAndSubtractionOfCoins = new LearningUnit(
    13,  // id
    "Test Addition and Subtraction of Coins",
    "Addition and substraction visualized with the help of coins.",
    "Miscellaneous",
    1,  // grade
    [
      new ArithmeticExercise( oa.apt.simpleAdditionUpTo6, 2, oa.rf.additionAndSubtractionOfCoins),
      new ArithmeticExercise( oa.apt.simpleSubtractionUpTo6, 1, oa.rf.additionAndSubtractionOfCoins)
    ]
);
oa.learningUnits.push( oa.lu.testAdditionAndSubtractionOfCoins);

oa.lu.fractionSquare = new LearningUnit(
	14,  // id
	"Fractions as Square Parts",
	"Parts of a Square",
	"Fractions",
	4,  // grade
	[ new ArithmeticExercise( oa.apt.fractionSquare, 10, oa.rf.properFractionsAsSquareParts) 
	] 
);
oa.learningUnits.push( oa.lu.fractionSquare);

oa.lu.shadeSquare = new LearningUnit(
	15,  // id
	"Shade Square Parts",
	"Shade Square Parts",
	"Fractions",
	4,  // grade
	[ new ArithmeticExercise( oa.apt.fractionSquare, 10, oa.rf.shadeSquareParts) 
	] 
);
oa.learningUnits.push( oa.lu.shadeSquare);
oa.lu.shadeCircleParts = new LearningUnit(
	16,  // id
	"Shade Circle Parts",
	"ShadeCircleParts",
	"Fractions",
	4,  // grade
	[ new ArithmeticExercise( oa.apt.fractionCircle, 10, oa.rf.shadeCircleParts)
	] 
);
oa.learningUnits.push( oa.lu.shadeCircleParts);

/**
 * A learning unit for computation problems having the possible results animated with the help of stars
 * 
 * 
 * @author Andrei Ionut Cosmin & Ciucardel Vasile Costinel
 */
 oa.lu.animatedStarsComputationProblems = new LearningUnit(
    17,  // id
    "Animated Stars Computation Problems",
    "Computation problems having the possible results animated with the help of stars.",
    "Miscellaneous",
    1,  // grade
    [
      new ArithmeticExercise( oa.apt.simpleAdditionOf3Numbers, 4, oa.rf.animatedStars)
    ]
);
oa.learningUnits.push( oa.lu.animatedStarsComputationProblems);

oa.lu.testInverseOperation = new LearningUnit(
    18,  // id
    "Testing InverseOperation",
    "Subtraction as the inverse operation of addition",
    "Subtraction",
    1,  // grade
    [ 
      new ArithmeticExercise( oa.apt.basicAddition, 3, oa.rf.inverseOperation),
      new ArithmeticExercise( oa.apt.multiplicationBy3, 3, oa.rf.inverseOperation)
    ] 
);
oa.learningUnits.push( oa.lu.testInverseOperation);
